from django.db import models

from myuser.models import MyUser
from prj004.models.models import CreateTimeModel
from prj004.models.info import Info


class Cure(CreateTimeModel):
    owner = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name='prj004_cure')

    info = models.OneToOneField(Info, related_name='cure', on_delete=models.CASCADE)

    is_jiehe = models.BooleanField(default=False, blank=True, verbose_name='中西医结合治疗', help_text='中西医结合治疗')

    ZHI_XU_CHOICES = (
        ('补肾气', '补肾气'),
        ('滋肾阴', '滋肾阴'),
        ('温肾阳', '温肾阳'),
        ('阴阳双补', '阴阳双补'),
        ('肾脾双补', '肾脾双补'),
        ('补气养血', '补气养血'),
        ('益气养阴', '益气养阴')
    )
    zhi_xu = models.CharField(max_length=10, choices=ZHI_XU_CHOICES, null=True, blank=True, verbose_name='虚证治法', help_text='虚证治法')

    zhi_xu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚证治法-其他', help_text='虚证治法-其他')

    ZHI_SHI_CHOICES = (
        ('燥湿化痰', '燥湿化痰'),
        ('活血祛瘀', '活血祛瘀'),
        ('疏肝解郁', '疏肝解郁')
    )
    zhi_shi = models.CharField(max_length=10, choices=ZHI_SHI_CHOICES, null=True, blank=True, verbose_name='实证治法', help_text='实证治法')

    zhi_shi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='实证治法-其他', help_text='实证治法-其他')

    ZHI_XUSHI_CHOICES = (
        ('补肾活血', '补肾活血'),
        ('疏肝补肾', '疏肝补肾'),
        ('补气活血', '补气活血'),
    )
    zhi_xushi = models.CharField(max_length=10, choices=ZHI_XUSHI_CHOICES, null=True, blank=True, verbose_name='虚实夹杂证治法', help_text='虚实夹杂证治法')

    zhi_xushi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚实夹杂证治法-其他', help_text='虚实夹杂证治法-其他')

    dai_xu_wen = models.BooleanField(default=False, blank=True, verbose_name='温胞饮', help_text='温胞饮')

    dai_xu_shen = models.BooleanField(default=False, blank=True, verbose_name='归肾丸', help_text='归肾丸')

    dai_xu_zhu = models.BooleanField(default=False, blank=True, verbose_name='毓麟珠', help_text='毓麟珠')

    dai_xu_you = models.BooleanField(default=False, blank=True, verbose_name='右归丸', help_text='右归丸')

    dai_xu_da = models.BooleanField(default=False, blank=True, verbose_name='大补元煎', help_text='大补元煎')

    dai_xu_gu = models.BooleanField(default=False, blank=True, verbose_name='固阴煎', help_text='固阴煎')

    dai_xu_yang = models.BooleanField(default=False, blank=True, verbose_name='养精种玉汤', help_text='养精种玉汤')

    dai_xu_liang = models.BooleanField(default=False, blank=True, verbose_name='两地汤合二至丸', help_text='两地汤合二至丸')

    dai_xu_zuo = models.BooleanField(default=False, blank=True, verbose_name='左归丸合二至丸', help_text='左归丸合二至丸')

    dai_xu_ju = models.BooleanField(default=False, blank=True, verbose_name='举元煎', help_text='举元煎')

    dai_xu_gui = models.BooleanField(default=False, blank=True, verbose_name='归脾汤', help_text='归脾汤')

    dai_xu_ren = models.BooleanField(default=False, blank=True, verbose_name='人参养荣汤', help_text='人参养荣汤')

    dai_xu_er = models.BooleanField(default=False, blank=True, verbose_name='二仙汤合二至丸', help_text='二仙汤合二至丸')

    dai_xu_bu = models.BooleanField(default=False, blank=True, verbose_name='补肾固冲丸', help_text='补肾固冲丸')

    dai_xu_shan = models.BooleanField(default=False, blank=True, verbose_name='泰山磐石散', help_text='泰山磐石散')

    dai_xu_shou = models.BooleanField(default=False, blank=True, verbose_name='寿胎丸', help_text='寿胎丸')

    dai_xu_tai = models.BooleanField(default=False, blank=True, verbose_name='胎元饮', help_text='胎元饮')

    dai_xu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚证代表方-其他', help_text='虚证代表方-其他')

    dai_shi_xiao = models.BooleanField(default=False, blank=True, verbose_name='逍遥散', help_text='逍遥散')
    dai_shi_chai = models.BooleanField(default=False, blank=True, verbose_name='柴胡疏肝散', help_text='柴胡疏肝散')
    dai_shi_kai = models.BooleanField(default=False, blank=True, verbose_name='开郁种玉汤', help_text='开郁种玉汤')
    dai_shi_tao = models.BooleanField(default=False, blank=True, verbose_name='桃红四物汤', help_text='桃红四物汤')
    dai_shi_xue = models.BooleanField(default=False, blank=True, verbose_name='血府逐瘀汤', help_text='血府逐瘀汤')
    dai_shi_ge = models.BooleanField(default=False, blank=True, verbose_name='膈下逐瘀汤', help_text='膈下逐瘀汤')
    dai_shi_shao = models.BooleanField(default=False, blank=True, verbose_name='少腹逐瘀汤', help_text='少腹逐瘀汤')
    dai_shi_zu = models.BooleanField(default=False, blank=True, verbose_name='逐瘀止血汤', help_text='逐瘀止血汤')
    dai_shi_wen = models.BooleanField(default=False, blank=True, verbose_name='温经汤', help_text='温经汤')
    dai_shi_dang = models.BooleanField(default=False, blank=True, verbose_name='当归芍药散', help_text='当归芍药散')
    dai_shi_cang = models.BooleanField(default=False, blank=True, verbose_name='苍附导痰丸', help_text='苍附导痰丸')
    dai_shi_liu = models.BooleanField(default=False, blank=True, verbose_name='六君子加归芎汤', help_text='六君子加归芎汤')
    dai_shi_dan = models.BooleanField(default=False, blank=True, verbose_name='温胆汤', help_text='温胆汤')
    dai_shi_gui = models.BooleanField(default=False, blank=True, verbose_name='桂枝茯苓丸', help_text='桂枝茯苓丸')
    dai_shi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='实证代表方-其他', help_text='实证代表方-其他')

    dai_xushi_jing = models.BooleanField(default=False, blank=True, verbose_name='定经汤', help_text='定经汤')
    dai_xushi_tai = models.BooleanField(default=False, blank=True, verbose_name='寿胎丸合四物汤', help_text='寿胎丸合四物汤')
    dai_xushi_huo = models.BooleanField(default=False, blank=True, verbose_name='补肾活血汤', help_text='补肾活血汤')
    dai_xushi_qu = models.BooleanField(default=False, blank=True, verbose_name='补肾祛瘀方', help_text='补肾祛瘀方')
    dai_xushi_yi = models.BooleanField(default=False, blank=True, verbose_name='补中益气汤', help_text='补中益气汤')
    dai_xushi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚实夹杂证代表方-其他', help_text='虚实夹杂证代表方-其他')

    zcy_xu_zi = models.BooleanField(default=False, blank=True, verbose_name='滋肾育胎丸', help_text='滋肾育胎丸')
    zcy_xu_bu = models.BooleanField(default=False, blank=True, verbose_name='补中益气丸/颗粒', help_text='补中益气丸/颗粒')
    zcy_xu_ren = models.BooleanField(default=False, blank=True, verbose_name='人参归脾丸', help_text='人参归脾丸')
    zcy_xu_gui = models.BooleanField(default=False, blank=True, verbose_name='归脾丸', help_text='归脾丸')
    zcy_xu_an = models.BooleanField(default=False, blank=True, verbose_name='安坤颗粒', help_text='安坤颗粒')
    zcy_xu_fu = models.BooleanField(default=False, blank=True, verbose_name='复方阿胶浆', help_text='复方阿胶浆')
    zcy_xu_ke = models.BooleanField(default=False, blank=True, verbose_name='妇科再造丸/胶囊', help_text='妇科再造丸/胶囊')
    zcy_xu_gu = models.BooleanField(default=False, blank=True, verbose_name='固经丸', help_text='固经丸')
    zcy_xu_a = models.BooleanField(default=False, blank=True, verbose_name='阿胶当归合剂', help_text='阿胶当归合剂')
    zcy_xu_er = models.BooleanField(default=False, blank=True, verbose_name='二至丸', help_text='二至丸')
    zcy_xu_lv = models.BooleanField(default=False, blank=True, verbose_name='驴胶补血颗粒', help_text='驴胶补血颗粒')
    zcy_xu_ba = models.BooleanField(default=False, blank=True, verbose_name='八珍益母胶囊', help_text='八珍益母胶囊')
    zcy_xu_you = models.BooleanField(default=False, blank=True, verbose_name='右归丸', help_text='右归丸')
    zcy_xu_wu = models.BooleanField(default=False, blank=True, verbose_name='乌鸡白凤丸/片/颗粒', help_text='乌鸡白凤丸/片/颗粒')
    zcy_xu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚证中成药-其他', help_text='虚证中成药-其他')

    zcy_shi_gui = models.BooleanField(default=False, blank=True, verbose_name='桂枝茯苓丸', help_text='桂枝茯苓丸')
    zcy_shi_xue = models.BooleanField(default=False, blank=True, verbose_name='血府逐瘀颗粒', help_text='血府逐瘀颗粒')
    zcy_shi_wen = models.BooleanField(default=False, blank=True, verbose_name='温胆片', help_text='温胆片')
    zcy_shi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='实证中成药-其他', help_text='实证中成药-其他')

    zcy_xushi_jia = models.BooleanField(default=False, blank=True, verbose_name='加味逍遥口服液/合剂', help_text='加味逍遥口服液/合剂')
    zcy_xushi_ding = models.BooleanField(default=False, blank=True, verbose_name='定坤丹', help_text='定坤丹')
    zcy_xushi_nv = models.BooleanField(default=False, blank=True, verbose_name='女金丸/胶囊', help_text='女金丸/胶囊')
    zcy_xushi_dan = models.BooleanField(default=False, blank=True, verbose_name='丹栀逍遥丸', help_text='丹栀逍遥丸')
    zcy_xushi_tiao = models.BooleanField(default=False, blank=True, verbose_name='妇科调经片', help_text='妇科调经片')
    zcy_xushi_shi = models.BooleanField(default=False, blank=True, verbose_name='妇科十味片', help_text='妇科十味片')
    zcy_xushi_gu = models.BooleanField(default=False, blank=True, verbose_name='固经丸', help_text='固经丸')
    zcy_xushi_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='虚实夹杂证中成药-其他', help_text='虚实夹杂证中成药-其他')

    zhong_qita_wu = models.BooleanField(default=False, blank=True, verbose_name='中医其他治疗-无', help_text='中医其他治疗-无')
    zhong_qita_ti = models.BooleanField(default=False, blank=True, verbose_name='体针', help_text='体针')
    zhong_qita_er = models.BooleanField(default=False, blank=True, verbose_name='耳针', help_text='耳针')
    zhong_qita_fu = models.BooleanField(default=False, blank=True, verbose_name='腹针', help_text='腹针')
    zhong_qita_ai = models.BooleanField(default=False, blank=True, verbose_name='艾灸', help_text='艾灸')
    zhong_qita_dou = models.BooleanField(default=False, blank=True, verbose_name='耳穴压豆', help_text='耳穴压豆')
    zhong_qita_zhu = models.BooleanField(default=False, blank=True, verbose_name='穴位注射', help_text='穴位注射')
    zhong_qita_tie = models.BooleanField(default=False, blank=True, verbose_name='穴位敷贴', help_text='穴位敷贴')
    zhong_qita_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='中医其他治疗-其他', help_text='中医其他治疗-其他')

    xingjisu = models.BooleanField(default=False, blank=True, verbose_name='性激素', help_text='性激素')

    xing_yun = models.BooleanField(default=False, blank=True, verbose_name='孕激素', help_text='孕激素')
    xing_yun_ji = models.BooleanField(default=False, blank=True, verbose_name='肌注黄体酮', help_text='肌注黄体酮')
    xing_yun_di = models.BooleanField(default=False, blank=True, verbose_name='地屈孕酮', help_text='地屈孕酮')
    xing_yun_jia = models.BooleanField(default=False, blank=True, verbose_name='甲羟孕酮', help_text='甲羟孕酮')
    xing_yun_wei = models.BooleanField(default=False, blank=True, verbose_name='微粒化黄体酮胶囊', help_text='微粒化黄体酮胶囊')
    xing_yun_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='孕激素-其他', help_text='孕激素-其他')

    xing_ci = models.BooleanField(default=False, blank=True, verbose_name='雌激素', help_text='雌激素')
    xing_ci_ben = models.BooleanField(default=False, blank=True, verbose_name='苯甲酸雌二醇', help_text='苯甲酸雌二醇')
    xing_ci_wu = models.BooleanField(default=False, blank=True, verbose_name='戊酸雌二醇', help_text='戊酸雌二醇')
    xing_ci_zhen = models.BooleanField(default=False, blank=True, verbose_name='结合雌激素（针剂）', help_text='结合雌激素（针剂）')
    xing_ci_pian = models.BooleanField(default=False, blank=True, verbose_name='结合雌激素（片剂）', help_text='结合雌激素（片剂）')
    xing_ci_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='雌激素-其他', help_text='雌激素-其他')

    xing_fu = models.BooleanField(default=False, blank=True, verbose_name='雌孕激素复合制剂', help_text='雌孕激素复合制剂')
    xing_fu_di = models.BooleanField(default=False, blank=True, verbose_name='雌二醇地屈孕酮片', help_text='雌二醇地屈孕酮片')
    xing_fu_bing = models.BooleanField(default=False, blank=True, verbose_name='炔雌醇环丙孕酮片', help_text='炔雌醇环丙孕酮片')
    xing_fu_chun = models.BooleanField(default=False, blank=True, verbose_name='屈螺酮炔雌醇片', help_text='屈螺酮炔雌醇片')
    xing_fu_chuner = models.BooleanField(default=False, blank=True, verbose_name='屈螺酮炔雌醇片Ⅱ', help_text='屈螺酮炔雌醇片Ⅱ')
    xing_fu_qu = models.BooleanField(default=False, blank=True, verbose_name='去氧孕烯炔雌醇片', help_text='去氧孕烯炔雌醇片')
    xing_fu_fu = models.BooleanField(default=False, blank=True, verbose_name='复方孕二烯酮片', help_text='复方孕二烯酮片')
    xing_fu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='雌孕激素复合制剂-其他', help_text='雌孕激素复合制剂-其他')

    mianyi = models.BooleanField(default=False, blank=True, verbose_name='免疫治疗', help_text='免疫治疗')

    mian_zhu = models.BooleanField(default=False, blank=True, verbose_name='主动免疫治疗', help_text='主动免疫治疗')
    mian_zhu_pei = models.BooleanField(default=False, blank=True, verbose_name='配偶外周血淋巴细胞', help_text='配偶外周血淋巴细胞')
    mian_zhu_di = models.BooleanField(default=False, blank=True, verbose_name='第三方外周血淋巴细胞', help_text='第三方外周血淋巴细胞')
    mian_zhu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='免疫治疗-主动免疫治疗-其他', help_text='免疫治疗-主动免疫治疗-其他')

    mian_bei = models.BooleanField(default=False, blank=True, verbose_name='被动免疫治疗', help_text='被动免疫治疗')
    mian_bei_dan = models.BooleanField(default=False, blank=True, verbose_name='免疫球蛋白注射', help_text='免疫球蛋白注射')
    mian_bei_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='免疫治疗-被动免疫治疗-其他', help_text='免疫治疗被动免疫治疗-其他')

    kangning = models.BooleanField(default=False, blank=True, verbose_name='抗凝治疗', help_text='抗凝治疗')
    kangning_a = models.BooleanField(default=False, blank=True, verbose_name='阿司匹林', help_text='阿司匹林')
    kangning_di = models.BooleanField(default=False, blank=True, verbose_name='低分子肝素', help_text='低分子肝素')
    kangning_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='抗凝治疗-其他', help_text='抗凝治疗-其他')

    cupailuan = models.BooleanField(default=False, blank=True, verbose_name='促排卵', help_text='促排卵')

    cu_lv = models.BooleanField(default=False, blank=True, verbose_name='氯米芬', help_text='氯米芬')
    cu_lai = models.BooleanField(default=False, blank=True, verbose_name='来曲唑', help_text='来曲唑')
    cu_chong = models.BooleanField(default=False, blank=True, verbose_name='重组促卵泡生成激素（FSH）', help_text='重组促卵泡生成激素（FSH）')
    cu_niao = models.BooleanField(default=False, blank=True, verbose_name='尿促性素（hMG）', help_text='尿促性素（hMG）')
    cu_ren = models.BooleanField(default=False, blank=True, verbose_name='人绒毛膜促性腺激素（hCG）', help_text='人绒毛膜促性腺激素（hCG）')
    cu_luan = models.BooleanField(default=False, blank=True, verbose_name='卵泡期使用低剂量雌激素', help_text='卵泡期使用低剂量雌激素')
    cu_qita = models.CharField(max_length=50, null=True, blank=True, verbose_name='促排卵-其他', help_text='促排卵-其他')

    fuzhu_shengzhi = models.BooleanField(blank=True, default=False, verbose_name='辅助生殖技术', help_text='辅助生殖技术')

    yunhou_wu = models.BooleanField(blank=True, default=False, verbose_name='无', help_text='无')
    yunhou_hcg = models.BooleanField(blank=True, default=False, verbose_name='肌注HCG', help_text='肌注HCG')
    yunhou_ji = models.BooleanField(blank=True, default=False, verbose_name='肌注黄体酮', help_text='肌注黄体酮')
    yunhou_di = models.BooleanField(blank=True, default=False, verbose_name='地屈孕酮', help_text='地屈孕酮')
    yunhou_qita = models.CharField(max_length=50, blank=True, null=True, verbose_name='孕后治疗-其他', help_text='孕后治疗-其他')

    shoushu = models.BooleanField(blank=True, default=False, verbose_name='是否手术治疗', help_text='是否手术治疗')
    shoushu_detail = models.CharField(max_length=50, blank=True, null=True, verbose_name='手术治疗', help_text='手术治疗')

    other_cure = models.CharField(max_length=150, blank=True, null=True, verbose_name='其他治疗', help_text='其他治疗')

    def __str__(self):
        return '{}-{}'.format(self.owner, self.info)

    class Meta:
        verbose_name = '治疗'
        verbose_name_plural = verbose_name
